

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0361 */
/* at Sun Dec 20 21:01:42 2020
 */
/* Compiler settings for TimeEng.idl:
    Oicf, W0, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __TimeEng_h__
#define __TimeEng_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __ITIMENode_FWD_DEFINED__
#define __ITIMENode_FWD_DEFINED__
typedef interface ITIMENode ITIMENode;
#endif 	/* __ITIMENode_FWD_DEFINED__ */


#ifndef __ITIMENodeBehavior_FWD_DEFINED__
#define __ITIMENodeBehavior_FWD_DEFINED__
typedef interface ITIMENodeBehavior ITIMENodeBehavior;
#endif 	/* __ITIMENodeBehavior_FWD_DEFINED__ */


#ifndef __ITIMEContainer_FWD_DEFINED__
#define __ITIMEContainer_FWD_DEFINED__
typedef interface ITIMEContainer ITIMEContainer;
#endif 	/* __ITIMEContainer_FWD_DEFINED__ */


#ifndef __ITIMENodeMgr_FWD_DEFINED__
#define __ITIMENodeMgr_FWD_DEFINED__
typedef interface ITIMENodeMgr ITIMENodeMgr;
#endif 	/* __ITIMENodeMgr_FWD_DEFINED__ */


#ifndef __ITIMEImageRender_FWD_DEFINED__
#define __ITIMEImageRender_FWD_DEFINED__
typedef interface ITIMEImageRender ITIMEImageRender;
#endif 	/* __ITIMEImageRender_FWD_DEFINED__ */


#ifndef __ITIMEInternalEventSink_FWD_DEFINED__
#define __ITIMEInternalEventSink_FWD_DEFINED__
typedef interface ITIMEInternalEventSink ITIMEInternalEventSink;
#endif 	/* __ITIMEInternalEventSink_FWD_DEFINED__ */


#ifndef __ITIMEInternalEventGenerator_FWD_DEFINED__
#define __ITIMEInternalEventGenerator_FWD_DEFINED__
typedef interface ITIMEInternalEventGenerator ITIMEInternalEventGenerator;
#endif 	/* __ITIMEInternalEventGenerator_FWD_DEFINED__ */


#ifndef __ITIMETransitionDependencyMgr_FWD_DEFINED__
#define __ITIMETransitionDependencyMgr_FWD_DEFINED__
typedef interface ITIMETransitionDependencyMgr ITIMETransitionDependencyMgr;
#endif 	/* __ITIMETransitionDependencyMgr_FWD_DEFINED__ */


/* header files for imported files */
#include "mstime.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf_TimeEng_0000 */
/* [local] */ 

HRESULT TECreateBehavior(BSTR id, ITIMENode **ppOut);
HRESULT TECreateTimeline(BSTR id, ITIMEContainer **ppOut);
HRESULT TECreatePlayer(BSTR id, IUnknown * bvr, IServiceProvider * sp, ITIMENodeMgr **ppOut);
#define TE_UNDEFINED_VALUE (-1)




typedef 
enum _TE_TIMEPOINT
    {	TE_TIMEPOINT_NONE	= 0,
	TE_TIMEPOINT_BEGIN	= 1,
	TE_TIMEPOINT_END	= 2,
	TE_TIMEPOINT_Max	= 0x7fffffffL
    } 	TE_TIMEPOINT;

typedef 
enum _TE_FLAGS
    {	TE_FLAGS_LOCKED	= 0x1,
	TE_FLAGS_MASTER	= 0x2,
	TE_FLAGS_ENDSYNC	= 0x4,
	TE_FLAGS_Max	= 0x7fffffffL
    } 	TE_FLAGS;

typedef 
enum _TE_FILL_FLAGS
    {	TE_FILL_REMOVE	= 0,
	TE_FILL_FREEZE	= 1,
	TE_FILL_Max	= 0x7fffffffL
    } 	TE_FILL_FLAGS;

typedef 
enum _TE_RESTART_FLAGS
    {	TE_RESTART_ALWAYS	= 0,
	TE_RESTART_NEVER	= 1,
	TE_RESTART_WHEN_NOT_ACTIVE	= 2,
	TE_RESTART_Max	= 0x7fffffffL
    } 	TE_RESTART_FLAGS;

typedef 
enum _TE_STATE
    {	TE_STATE_ACTIVE	= 0,
	TE_STATE_INACTIVE	= 0x1,
	TE_STATE_PAUSED	= 0x2,
	TE_STATE_Max	= 0x7fffffffL
    } 	TE_STATE;

typedef 
enum _TE_UPDATE_FLAGS
    {	TE_UPDATE_PROPAGATE	= 0x1,
	TE_UPDATE_NOTIFY	= 0x2,
	TE_UPDATE_Max	= 0x7fffffffL
    } 	TE_UPDATE_FLAGS;



extern RPC_IF_HANDLE __MIDL_itf_TimeEng_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_TimeEng_0000_v0_0_s_ifspec;

#ifndef __ITIMENode_INTERFACE_DEFINED__
#define __ITIMENode_INTERFACE_DEFINED__

/* interface ITIMENode */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_ITIMENode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("85918f51-2e04-4636-8b12-084f92a1b3e0")
    ITIMENode : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_id( 
            /* [retval][out] */ BSTR *__MIDL_0019) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_id( 
            /* [in] */ BSTR __MIDL_0020) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_dur( 
            /* [retval][out] */ double *__MIDL_0021) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_dur( 
            /* [in] */ double __MIDL_0022) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_repeatCount( 
            /* [retval][out] */ double *__MIDL_0023) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_repeatCount( 
            /* [in] */ double __MIDL_0024) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_repeatDur( 
            /* [retval][out] */ double *__MIDL_0025) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_repeatDur( 
            /* [in] */ double __MIDL_0026) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_fill( 
            /* [retval][out] */ TE_FILL_FLAGS *__MIDL_0027) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_fill( 
            /* [in] */ TE_FILL_FLAGS __MIDL_0028) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_autoReverse( 
            /* [retval][out] */ VARIANT_BOOL *__MIDL_0029) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_autoReverse( 
            /* [in] */ VARIANT_BOOL __MIDL_0030) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_speed( 
            /* [retval][out] */ float *__MIDL_0031) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_speed( 
            /* [in] */ float __MIDL_0032) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accelerate( 
            /* [retval][out] */ float *__MIDL_0033) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_accelerate( 
            /* [in] */ float __MIDL_0034) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_decelerate( 
            /* [retval][out] */ float *__MIDL_0035) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_decelerate( 
            /* [in] */ float __MIDL_0036) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_flags( 
            /* [retval][out] */ DWORD *__MIDL_0037) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_flags( 
            /* [in] */ DWORD __MIDL_0038) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_restart( 
            /* [retval][out] */ TE_RESTART_FLAGS *__MIDL_0039) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_restart( 
            /* [in] */ TE_RESTART_FLAGS __MIDL_0040) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_naturalDur( 
            /* [retval][out] */ double *__MIDL_0041) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_naturalDur( 
            /* [in] */ double __MIDL_0042) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE addBegin( 
            /* [in] */ double dblParentTime,
            /* [retval][out] */ LONG *cookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE addBeginSyncArc( 
            /* [in] */ ITIMENode *node,
            /* [in] */ TE_TIMEPOINT tep,
            /* [in] */ double dblOffset,
            /* [retval][out] */ LONG *cookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE removeBegin( 
            /* [in] */ LONG cookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE beginAt( 
            /* [in] */ double dblParentTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE addEnd( 
            /* [in] */ double dblParentTime,
            /* [retval][out] */ LONG *cookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE addEndSyncArc( 
            /* [in] */ ITIMENode *node,
            /* [in] */ TE_TIMEPOINT tep,
            /* [in] */ double dblOffset,
            /* [retval][out] */ LONG *cookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE removeEnd( 
            /* [in] */ LONG cookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE endAt( 
            /* [in] */ double dblParentTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE enable( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE disable( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE seekSegmentTime( 
            /* [in] */ double dblSegmentTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE seekActiveTime( 
            /* [in] */ double dblActiveTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE seekTo( 
            /* [in] */ LONG lRepeatCount,
            /* [in] */ double dblSegmentTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currSimpleTime( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currRepeatCount( 
            /* [retval][out] */ LONG *l) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currSegmentTime( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currActiveTime( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currSegmentDur( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currImplicitDur( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currSimpleDur( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currProgress( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currSpeed( 
            /* [retval][out] */ float *speed) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_beginParentTime( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endParentTime( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_activeDur( 
            /* [retval][out] */ double *__MIDL_0043) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currParentTime( 
            /* [retval][out] */ double *d) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isActive( 
            /* [retval][out] */ VARIANT_BOOL *b) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isOn( 
            /* [retval][out] */ VARIANT_BOOL *b) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isPaused( 
            /* [retval][out] */ VARIANT_BOOL *b) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCurrPaused( 
            /* [retval][out] */ VARIANT_BOOL *b) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isDisabled( 
            /* [retval][out] */ VARIANT_BOOL *b) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCurrDisabled( 
            /* [retval][out] */ VARIANT_BOOL *b) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateFlags( 
            /* [retval][out] */ TE_STATE *lFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE reset( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE update( 
            /* [in] */ DWORD dwFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE documentTimeToParentTime( 
            /* [in] */ double dblDocumentTime,
            /* [retval][out] */ double *pdblParentTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE parentTimeToDocumentTime( 
            /* [in] */ double dblParentTime,
            /* [retval][out] */ double *pdblDocumentTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE parentTimeToActiveTime( 
            /* [in] */ double dblParentTime,
            /* [retval][out] */ double *pdblActiveTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE activeTimeToParentTime( 
            /* [in] */ double dblActiveTime,
            /* [retval][out] */ double *pdblParentTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE activeTimeToSegmentTime( 
            /* [in] */ double dblActiveTime,
            /* [retval][out] */ double *pdblSegmentTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE segmentTimeToActiveTime( 
            /* [in] */ double dblSegmentTime,
            /* [retval][out] */ double *pdblActiveTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE simpleTimeToSegmentTime( 
            /* [in] */ double dblSimpleTime,
            /* [retval][out] */ double *pdblSegmentTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE segmentTimeToSimpleTime( 
            /* [in] */ double dblSegmentTime,
            /* [retval][out] */ double *pdblSimpleTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE addBehavior( 
            /* [in] */ ITIMENodeBehavior *tnb) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE removeBehavior( 
            /* [in] */ ITIMENodeBehavior *tnb) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITIMENodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITIMENode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITIMENode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITIMENode * This);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_id )( 
            ITIMENode * This,
            /* [retval][out] */ BSTR *__MIDL_0019);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_id )( 
            ITIMENode * This,
            /* [in] */ BSTR __MIDL_0020);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_dur )( 
            ITIMENode * This,
            /* [retval][out] */ double *__MIDL_0021);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_dur )( 
            ITIMENode * This,
            /* [in] */ double __MIDL_0022);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_repeatCount )( 
            ITIMENode * This,
            /* [retval][out] */ double *__MIDL_0023);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_repeatCount )( 
            ITIMENode * This,
            /* [in] */ double __MIDL_0024);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_repeatDur )( 
            ITIMENode * This,
            /* [retval][out] */ double *__MIDL_0025);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_repeatDur )( 
            ITIMENode * This,
            /* [in] */ double __MIDL_0026);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_fill )( 
            ITIMENode * This,
            /* [retval][out] */ TE_FILL_FLAGS *__MIDL_0027);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_fill )( 
            ITIMENode * This,
            /* [in] */ TE_FILL_FLAGS __MIDL_0028);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_autoReverse )( 
            ITIMENode * This,
            /* [retval][out] */ VARIANT_BOOL *__MIDL_0029);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_autoReverse )( 
            ITIMENode * This,
            /* [in] */ VARIANT_BOOL __MIDL_0030);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_speed )( 
            ITIMENode * This,
            /* [retval][out] */ float *__MIDL_0031);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_speed )( 
            ITIMENode * This,
            /* [in] */ float __MIDL_0032);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accelerate )( 
            ITIMENode * This,
            /* [retval][out] */ float *__MIDL_0033);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_accelerate )( 
            ITIMENode * This,
            /* [in] */ float __MIDL_0034);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_decelerate )( 
            ITIMENode * This,
            /* [retval][out] */ float *__MIDL_0035);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_decelerate )( 
            ITIMENode * This,
            /* [in] */ float __MIDL_0036);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_flags )( 
            ITIMENode * This,
            /* [retval][out] */ DWORD *__MIDL_0037);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_flags )( 
            ITIMENode * This,
            /* [in] */ DWORD __MIDL_0038);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_restart )( 
            ITIMENode * This,
            /* [retval][out] */ TE_RESTART_FLAGS *__MIDL_0039);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_restart )( 
            ITIMENode * This,
            /* [in] */ TE_RESTART_FLAGS __MIDL_0040);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_naturalDur )( 
            ITIMENode * This,
            /* [retval][out] */ double *__MIDL_0041);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_naturalDur )( 
            ITIMENode * This,
            /* [in] */ double __MIDL_0042);
        
        HRESULT ( STDMETHODCALLTYPE *addBegin )( 
            ITIMENode * This,
            /* [in] */ double dblParentTime,
            /* [retval][out] */ LONG *cookie);
        
        HRESULT ( STDMETHODCALLTYPE *addBeginSyncArc )( 
            ITIMENode * This,
            /* [in] */ ITIMENode *node,
            /* [in] */ TE_TIMEPOINT tep,
            /* [in] */ double dblOffset,
            /* [retval][out] */ LONG *cookie);
        
        HRESULT ( STDMETHODCALLTYPE *removeBegin )( 
            ITIMENode * This,
            /* [in] */ LONG cookie);
        
        HRESULT ( STDMETHODCALLTYPE *beginAt )( 
            ITIMENode * This,
            /* [in] */ double dblParentTime);
        
        HRESULT ( STDMETHODCALLTYPE *addEnd )( 
            ITIMENode * This,
            /* [in] */ double dblParentTime,
            /* [retval][out] */ LONG *cookie);
        
        HRESULT ( STDMETHODCALLTYPE *addEndSyncArc )( 
            ITIMENode * This,
            /* [in] */ ITIMENode *node,
            /* [in] */ TE_TIMEPOINT tep,
            /* [in] */ double dblOffset,
            /* [retval][out] */ LONG *cookie);
        
        HRESULT ( STDMETHODCALLTYPE *removeEnd )( 
            ITIMENode * This,
            /* [in] */ LONG cookie);
        
        HRESULT ( STDMETHODCALLTYPE *endAt )( 
            ITIMENode * This,
            /* [in] */ double dblParentTime);
        
        HRESULT ( STDMETHODCALLTYPE *pause )( 
            ITIMENode * This);
        
        HRESULT ( STDMETHODCALLTYPE *resume )( 
            ITIMENode * This);
        
        HRESULT ( STDMETHODCALLTYPE *enable )( 
            ITIMENode * This);
        
        HRESULT ( STDMETHODCALLTYPE *disable )( 
            ITIMENode * This);
        
        HRESULT ( STDMETHODCALLTYPE *seekSegmentTime )( 
            ITIMENode * This,
            /* [in] */ double dblSegmentTime);
        
        HRESULT ( STDMETHODCALLTYPE *seekActiveTime )( 
            ITIMENode * This,
            /* [in] */ double dblActiveTime);
        
        HRESULT ( STDMETHODCALLTYPE *seekTo )( 
            ITIMENode * This,
            /* [in] */ LONG lRepeatCount,
            /* [in] */ double dblSegmentTime);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currSimpleTime )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currRepeatCount )( 
            ITIMENode * This,
            /* [retval][out] */ LONG *l);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currSegmentTime )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currActiveTime )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currSegmentDur )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currImplicitDur )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currSimpleDur )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currProgress )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currSpeed )( 
            ITIMENode * This,
            /* [retval][out] */ float *speed);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_beginParentTime )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endParentTime )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_activeDur )( 
            ITIMENode * This,
            /* [retval][out] */ double *__MIDL_0043);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currParentTime )( 
            ITIMENode * This,
            /* [retval][out] */ double *d);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isActive )( 
            ITIMENode * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOn )( 
            ITIMENode * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPaused )( 
            ITIMENode * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCurrPaused )( 
            ITIMENode * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDisabled )( 
            ITIMENode * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCurrDisabled )( 
            ITIMENode * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateFlags )( 
            ITIMENode * This,
            /* [retval][out] */ TE_STATE *lFlags);
        
        HRESULT ( STDMETHODCALLTYPE *reset )( 
            ITIMENode * This);
        
        HRESULT ( STDMETHODCALLTYPE *update )( 
            ITIMENode * This,
            /* [in] */ DWORD dwFlags);
        
        HRESULT ( STDMETHODCALLTYPE *documentTimeToParentTime )( 
            ITIMENode * This,
            /* [in] */ double dblDocumentTime,
            /* [retval][out] */ double *pdblParentTime);
        
        HRESULT ( STDMETHODCALLTYPE *parentTimeToDocumentTime )( 
            ITIMENode * This,
            /* [in] */ double dblParentTime,
            /* [retval][out] */ double *pdblDocumentTime);
        
        HRESULT ( STDMETHODCALLTYPE *parentTimeToActiveTime )( 
            ITIMENode * This,
            /* [in] */ double dblParentTime,
            /* [retval][out] */ double *pdblActiveTime);
        
        HRESULT ( STDMETHODCALLTYPE *activeTimeToParentTime )( 
            ITIMENode * This,
            /* [in] */ double dblActiveTime,
            /* [retval][out] */ double *pdblParentTime);
        
        HRESULT ( STDMETHODCALLTYPE *activeTimeToSegmentTime )( 
            ITIMENode * This,
            /* [in] */ double dblActiveTime,
            /* [retval][out] */ double *pdblSegmentTime);
        
        HRESULT ( STDMETHODCALLTYPE *segmentTimeToActiveTime )( 
            ITIMENode * This,
            /* [in] */ double dblSegmentTime,
            /* [retval][out] */ double *pdblActiveTime);
        
        HRESULT ( STDMETHODCALLTYPE *simpleTimeToSegmentTime )( 
            ITIMENode * This,
            /* [in] */ double dblSimpleTime,
            /* [retval][out] */ double *pdblSegmentTime);
        
        HRESULT ( STDMETHODCALLTYPE *segmentTimeToSimpleTime )( 
            ITIMENode * This,
            /* [in] */ double dblSegmentTime,
            /* [retval][out] */ double *pdblSimpleTime);
        
        HRESULT ( STDMETHODCALLTYPE *addBehavior )( 
            ITIMENode * This,
            /* [in] */ ITIMENodeBehavior *tnb);
        
        HRESULT ( STDMETHODCALLTYPE *removeBehavior )( 
            ITIMENode * This,
            /* [in] */ ITIMENodeBehavior *tnb);
        
        END_INTERFACE
    } ITIMENodeVtbl;

    interface ITIMENode
    {
        CONST_VTBL struct ITIMENodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITIMENode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITIMENode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITIMENode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITIMENode_get_id(This,__MIDL_0019)	\
    (This)->lpVtbl -> get_id(This,__MIDL_0019)

#define ITIMENode_put_id(This,__MIDL_0020)	\
    (This)->lpVtbl -> put_id(This,__MIDL_0020)

#define ITIMENode_get_dur(This,__MIDL_0021)	\
    (This)->lpVtbl -> get_dur(This,__MIDL_0021)

#define ITIMENode_put_dur(This,__MIDL_0022)	\
    (This)->lpVtbl -> put_dur(This,__MIDL_0022)

#define ITIMENode_get_repeatCount(This,__MIDL_0023)	\
    (This)->lpVtbl -> get_repeatCount(This,__MIDL_0023)

#define ITIMENode_put_repeatCount(This,__MIDL_0024)	\
    (This)->lpVtbl -> put_repeatCount(This,__MIDL_0024)

#define ITIMENode_get_repeatDur(This,__MIDL_0025)	\
    (This)->lpVtbl -> get_repeatDur(This,__MIDL_0025)

#define ITIMENode_put_repeatDur(This,__MIDL_0026)	\
    (This)->lpVtbl -> put_repeatDur(This,__MIDL_0026)

#define ITIMENode_get_fill(This,__MIDL_0027)	\
    (This)->lpVtbl -> get_fill(This,__MIDL_0027)

#define ITIMENode_put_fill(This,__MIDL_0028)	\
    (This)->lpVtbl -> put_fill(This,__MIDL_0028)

#define ITIMENode_get_autoReverse(This,__MIDL_0029)	\
    (This)->lpVtbl -> get_autoReverse(This,__MIDL_0029)

#define ITIMENode_put_autoReverse(This,__MIDL_0030)	\
    (This)->lpVtbl -> put_autoReverse(This,__MIDL_0030)

#define ITIMENode_get_speed(This,__MIDL_0031)	\
    (This)->lpVtbl -> get_speed(This,__MIDL_0031)

#define ITIMENode_put_speed(This,__MIDL_0032)	\
    (This)->lpVtbl -> put_speed(This,__MIDL_0032)

#define ITIMENode_get_accelerate(This,__MIDL_0033)	\
    (This)->lpVtbl -> get_accelerate(This,__MIDL_0033)

#define ITIMENode_put_accelerate(This,__MIDL_0034)	\
    (This)->lpVtbl -> put_accelerate(This,__MIDL_0034)

#define ITIMENode_get_decelerate(This,__MIDL_0035)	\
    (This)->lpVtbl -> get_decelerate(This,__MIDL_0035)

#define ITIMENode_put_decelerate(This,__MIDL_0036)	\
    (This)->lpVtbl -> put_decelerate(This,__MIDL_0036)

#define ITIMENode_get_flags(This,__MIDL_0037)	\
    (This)->lpVtbl -> get_flags(This,__MIDL_0037)

#define ITIMENode_put_flags(This,__MIDL_0038)	\
    (This)->lpVtbl -> put_flags(This,__MIDL_0038)

#define ITIMENode_get_restart(This,__MIDL_0039)	\
    (This)->lpVtbl -> get_restart(This,__MIDL_0039)

#define ITIMENode_put_restart(This,__MIDL_0040)	\
    (This)->lpVtbl -> put_restart(This,__MIDL_0040)

#define ITIMENode_get_naturalDur(This,__MIDL_0041)	\
    (This)->lpVtbl -> get_naturalDur(This,__MIDL_0041)

#define ITIMENode_put_naturalDur(This,__MIDL_0042)	\
    (This)->lpVtbl -> put_naturalDur(This,__MIDL_0042)

#define ITIMENode_addBegin(This,dblParentTime,cookie)	\
    (This)->lpVtbl -> addBegin(This,dblParentTime,cookie)

#define ITIMENode_addBeginSyncArc(This,node,tep,dblOffset,cookie)	\
    (This)->lpVtbl -> addBeginSyncArc(This,node,tep,dblOffset,cookie)

#define ITIMENode_removeBegin(This,cookie)	\
    (This)->lpVtbl -> removeBegin(This,cookie)

#define ITIMENode_beginAt(This,dblParentTime)	\
    (This)->lpVtbl -> beginAt(This,dblParentTime)

#define ITIMENode_addEnd(This,dblParentTime,cookie)	\
    (This)->lpVtbl -> addEnd(This,dblParentTime,cookie)

#define ITIMENode_addEndSyncArc(This,node,tep,dblOffset,cookie)	\
    (This)->lpVtbl -> addEndSyncArc(This,node,tep,dblOffset,cookie)

#define ITIMENode_removeEnd(This,cookie)	\
    (This)->lpVtbl -> removeEnd(This,cookie)

#define ITIMENode_endAt(This,dblParentTime)	\
    (This)->lpVtbl -> endAt(This,dblParentTime)

#define ITIMENode_pause(This)	\
    (This)->lpVtbl -> pause(This)

#define ITIMENode_resume(This)	\
    (This)->lpVtbl -> resume(This)

#define ITIMENode_enable(This)	\
    (This)->lpVtbl -> enable(This)

#define ITIMENode_disable(This)	\
    (This)->lpVtbl -> disable(This)

#define ITIMENode_seekSegmentTime(This,dblSegmentTime)	\
    (This)->lpVtbl -> seekSegmentTime(This,dblSegmentTime)

#define ITIMENode_seekActiveTime(This,dblActiveTime)	\
    (This)->lpVtbl -> seekActiveTime(This,dblActiveTime)

#define ITIMENode_seekTo(This,lRepeatCount,dblSegmentTime)	\
    (This)->lpVtbl -> seekTo(This,lRepeatCount,dblSegmentTime)

#define ITIMENode_get_currSimpleTime(This,d)	\
    (This)->lpVtbl -> get_currSimpleTime(This,d)

#define ITIMENode_get_currRepeatCount(This,l)	\
    (This)->lpVtbl -> get_currRepeatCount(This,l)

#define ITIMENode_get_currSegmentTime(This,d)	\
    (This)->lpVtbl -> get_currSegmentTime(This,d)

#define ITIMENode_get_currActiveTime(This,d)	\
    (This)->lpVtbl -> get_currActiveTime(This,d)

#define ITIMENode_get_currSegmentDur(This,d)	\
    (This)->lpVtbl -> get_currSegmentDur(This,d)

#define ITIMENode_get_currImplicitDur(This,d)	\
    (This)->lpVtbl -> get_currImplicitDur(This,d)

#define ITIMENode_get_currSimpleDur(This,d)	\
    (This)->lpVtbl -> get_currSimpleDur(This,d)

#define ITIMENode_get_currProgress(This,d)	\
    (This)->lpVtbl -> get_currProgress(This,d)

#define ITIMENode_get_currSpeed(This,speed)	\
    (This)->lpVtbl -> get_currSpeed(This,speed)

#define ITIMENode_get_beginParentTime(This,d)	\
    (This)->lpVtbl -> get_beginParentTime(This,d)

#define ITIMENode_get_endParentTime(This,d)	\
    (This)->lpVtbl -> get_endParentTime(This,d)

#define ITIMENode_get_activeDur(This,__MIDL_0043)	\
    (This)->lpVtbl -> get_activeDur(This,__MIDL_0043)

#define ITIMENode_get_currParentTime(This,d)	\
    (This)->lpVtbl -> get_currParentTime(This,d)

#define ITIMENode_get_isActive(This,b)	\
    (This)->lpVtbl -> get_isActive(This,b)

#define ITIMENode_get_isOn(This,b)	\
    (This)->lpVtbl -> get_isOn(This,b)

#define ITIMENode_get_isPaused(This,b)	\
    (This)->lpVtbl -> get_isPaused(This,b)

#define ITIMENode_get_isCurrPaused(This,b)	\
    (This)->lpVtbl -> get_isCurrPaused(This,b)

#define ITIMENode_get_isDisabled(This,b)	\
    (This)->lpVtbl -> get_isDisabled(This,b)

#define ITIMENode_get_isCurrDisabled(This,b)	\
    (This)->lpVtbl -> get_isCurrDisabled(This,b)

#define ITIMENode_get_stateFlags(This,lFlags)	\
    (This)->lpVtbl -> get_stateFlags(This,lFlags)

#define ITIMENode_reset(This)	\
    (This)->lpVtbl -> reset(This)

#define ITIMENode_update(This,dwFlags)	\
    (This)->lpVtbl -> update(This,dwFlags)

#define ITIMENode_documentTimeToParentTime(This,dblDocumentTime,pdblParentTime)	\
    (This)->lpVtbl -> documentTimeToParentTime(This,dblDocumentTime,pdblParentTime)

#define ITIMENode_parentTimeToDocumentTime(This,dblParentTime,pdblDocumentTime)	\
    (This)->lpVtbl -> parentTimeToDocumentTime(This,dblParentTime,pdblDocumentTime)

#define ITIMENode_parentTimeToActiveTime(This,dblParentTime,pdblActiveTime)	\
    (This)->lpVtbl -> parentTimeToActiveTime(This,dblParentTime,pdblActiveTime)

#define ITIMENode_activeTimeToParentTime(This,dblActiveTime,pdblParentTime)	\
    (This)->lpVtbl -> activeTimeToParentTime(This,dblActiveTime,pdblParentTime)

#define ITIMENode_activeTimeToSegmentTime(This,dblActiveTime,pdblSegmentTime)	\
    (This)->lpVtbl -> activeTimeToSegmentTime(This,dblActiveTime,pdblSegmentTime)

#define ITIMENode_segmentTimeToActiveTime(This,dblSegmentTime,pdblActiveTime)	\
    (This)->lpVtbl -> segmentTimeToActiveTime(This,dblSegmentTime,pdblActiveTime)

#define ITIMENode_simpleTimeToSegmentTime(This,dblSimpleTime,pdblSegmentTime)	\
    (This)->lpVtbl -> simpleTimeToSegmentTime(This,dblSimpleTime,pdblSegmentTime)

#define ITIMENode_segmentTimeToSimpleTime(This,dblSegmentTime,pdblSimpleTime)	\
    (This)->lpVtbl -> segmentTimeToSimpleTime(This,dblSegmentTime,pdblSimpleTime)

#define ITIMENode_addBehavior(This,tnb)	\
    (This)->lpVtbl -> addBehavior(This,tnb)

#define ITIMENode_removeBehavior(This,tnb)	\
    (This)->lpVtbl -> removeBehavior(This,tnb)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_id_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ BSTR *__MIDL_0019);


void __RPC_STUB ITIMENode_get_id_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_id_Proxy( 
    ITIMENode * This,
    /* [in] */ BSTR __MIDL_0020);


void __RPC_STUB ITIMENode_put_id_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_dur_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *__MIDL_0021);


void __RPC_STUB ITIMENode_get_dur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_dur_Proxy( 
    ITIMENode * This,
    /* [in] */ double __MIDL_0022);


void __RPC_STUB ITIMENode_put_dur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_repeatCount_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *__MIDL_0023);


void __RPC_STUB ITIMENode_get_repeatCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_repeatCount_Proxy( 
    ITIMENode * This,
    /* [in] */ double __MIDL_0024);


void __RPC_STUB ITIMENode_put_repeatCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_repeatDur_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *__MIDL_0025);


void __RPC_STUB ITIMENode_get_repeatDur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_repeatDur_Proxy( 
    ITIMENode * This,
    /* [in] */ double __MIDL_0026);


void __RPC_STUB ITIMENode_put_repeatDur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_fill_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ TE_FILL_FLAGS *__MIDL_0027);


void __RPC_STUB ITIMENode_get_fill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_fill_Proxy( 
    ITIMENode * This,
    /* [in] */ TE_FILL_FLAGS __MIDL_0028);


void __RPC_STUB ITIMENode_put_fill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_autoReverse_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ VARIANT_BOOL *__MIDL_0029);


void __RPC_STUB ITIMENode_get_autoReverse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_autoReverse_Proxy( 
    ITIMENode * This,
    /* [in] */ VARIANT_BOOL __MIDL_0030);


void __RPC_STUB ITIMENode_put_autoReverse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_speed_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ float *__MIDL_0031);


void __RPC_STUB ITIMENode_get_speed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_speed_Proxy( 
    ITIMENode * This,
    /* [in] */ float __MIDL_0032);


void __RPC_STUB ITIMENode_put_speed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_accelerate_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ float *__MIDL_0033);


void __RPC_STUB ITIMENode_get_accelerate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_accelerate_Proxy( 
    ITIMENode * This,
    /* [in] */ float __MIDL_0034);


void __RPC_STUB ITIMENode_put_accelerate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_decelerate_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ float *__MIDL_0035);


void __RPC_STUB ITIMENode_get_decelerate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_decelerate_Proxy( 
    ITIMENode * This,
    /* [in] */ float __MIDL_0036);


void __RPC_STUB ITIMENode_put_decelerate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_flags_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ DWORD *__MIDL_0037);


void __RPC_STUB ITIMENode_get_flags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_flags_Proxy( 
    ITIMENode * This,
    /* [in] */ DWORD __MIDL_0038);


void __RPC_STUB ITIMENode_put_flags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_restart_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ TE_RESTART_FLAGS *__MIDL_0039);


void __RPC_STUB ITIMENode_get_restart_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_restart_Proxy( 
    ITIMENode * This,
    /* [in] */ TE_RESTART_FLAGS __MIDL_0040);


void __RPC_STUB ITIMENode_put_restart_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_naturalDur_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *__MIDL_0041);


void __RPC_STUB ITIMENode_get_naturalDur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENode_put_naturalDur_Proxy( 
    ITIMENode * This,
    /* [in] */ double __MIDL_0042);


void __RPC_STUB ITIMENode_put_naturalDur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_addBegin_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblParentTime,
    /* [retval][out] */ LONG *cookie);


void __RPC_STUB ITIMENode_addBegin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_addBeginSyncArc_Proxy( 
    ITIMENode * This,
    /* [in] */ ITIMENode *node,
    /* [in] */ TE_TIMEPOINT tep,
    /* [in] */ double dblOffset,
    /* [retval][out] */ LONG *cookie);


void __RPC_STUB ITIMENode_addBeginSyncArc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_removeBegin_Proxy( 
    ITIMENode * This,
    /* [in] */ LONG cookie);


void __RPC_STUB ITIMENode_removeBegin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_beginAt_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblParentTime);


void __RPC_STUB ITIMENode_beginAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_addEnd_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblParentTime,
    /* [retval][out] */ LONG *cookie);


void __RPC_STUB ITIMENode_addEnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_addEndSyncArc_Proxy( 
    ITIMENode * This,
    /* [in] */ ITIMENode *node,
    /* [in] */ TE_TIMEPOINT tep,
    /* [in] */ double dblOffset,
    /* [retval][out] */ LONG *cookie);


void __RPC_STUB ITIMENode_addEndSyncArc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_removeEnd_Proxy( 
    ITIMENode * This,
    /* [in] */ LONG cookie);


void __RPC_STUB ITIMENode_removeEnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_endAt_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblParentTime);


void __RPC_STUB ITIMENode_endAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_pause_Proxy( 
    ITIMENode * This);


void __RPC_STUB ITIMENode_pause_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_resume_Proxy( 
    ITIMENode * This);


void __RPC_STUB ITIMENode_resume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_enable_Proxy( 
    ITIMENode * This);


void __RPC_STUB ITIMENode_enable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_disable_Proxy( 
    ITIMENode * This);


void __RPC_STUB ITIMENode_disable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_seekSegmentTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblSegmentTime);


void __RPC_STUB ITIMENode_seekSegmentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_seekActiveTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblActiveTime);


void __RPC_STUB ITIMENode_seekActiveTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_seekTo_Proxy( 
    ITIMENode * This,
    /* [in] */ LONG lRepeatCount,
    /* [in] */ double dblSegmentTime);


void __RPC_STUB ITIMENode_seekTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currSimpleTime_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_currSimpleTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currRepeatCount_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ LONG *l);


void __RPC_STUB ITIMENode_get_currRepeatCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currSegmentTime_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_currSegmentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currActiveTime_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_currActiveTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currSegmentDur_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_currSegmentDur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currImplicitDur_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_currImplicitDur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currSimpleDur_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_currSimpleDur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currProgress_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_currProgress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currSpeed_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ float *speed);


void __RPC_STUB ITIMENode_get_currSpeed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_beginParentTime_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_beginParentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_endParentTime_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_endParentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_activeDur_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *__MIDL_0043);


void __RPC_STUB ITIMENode_get_activeDur_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_currParentTime_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ double *d);


void __RPC_STUB ITIMENode_get_currParentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_isActive_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ VARIANT_BOOL *b);


void __RPC_STUB ITIMENode_get_isActive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_isOn_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ VARIANT_BOOL *b);


void __RPC_STUB ITIMENode_get_isOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_isPaused_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ VARIANT_BOOL *b);


void __RPC_STUB ITIMENode_get_isPaused_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_isCurrPaused_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ VARIANT_BOOL *b);


void __RPC_STUB ITIMENode_get_isCurrPaused_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_isDisabled_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ VARIANT_BOOL *b);


void __RPC_STUB ITIMENode_get_isDisabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_isCurrDisabled_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ VARIANT_BOOL *b);


void __RPC_STUB ITIMENode_get_isCurrDisabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENode_get_stateFlags_Proxy( 
    ITIMENode * This,
    /* [retval][out] */ TE_STATE *lFlags);


void __RPC_STUB ITIMENode_get_stateFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_reset_Proxy( 
    ITIMENode * This);


void __RPC_STUB ITIMENode_reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_update_Proxy( 
    ITIMENode * This,
    /* [in] */ DWORD dwFlags);


void __RPC_STUB ITIMENode_update_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_documentTimeToParentTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblDocumentTime,
    /* [retval][out] */ double *pdblParentTime);


void __RPC_STUB ITIMENode_documentTimeToParentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_parentTimeToDocumentTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblParentTime,
    /* [retval][out] */ double *pdblDocumentTime);


void __RPC_STUB ITIMENode_parentTimeToDocumentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_parentTimeToActiveTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblParentTime,
    /* [retval][out] */ double *pdblActiveTime);


void __RPC_STUB ITIMENode_parentTimeToActiveTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_activeTimeToParentTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblActiveTime,
    /* [retval][out] */ double *pdblParentTime);


void __RPC_STUB ITIMENode_activeTimeToParentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_activeTimeToSegmentTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblActiveTime,
    /* [retval][out] */ double *pdblSegmentTime);


void __RPC_STUB ITIMENode_activeTimeToSegmentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_segmentTimeToActiveTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblSegmentTime,
    /* [retval][out] */ double *pdblActiveTime);


void __RPC_STUB ITIMENode_segmentTimeToActiveTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_simpleTimeToSegmentTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblSimpleTime,
    /* [retval][out] */ double *pdblSegmentTime);


void __RPC_STUB ITIMENode_simpleTimeToSegmentTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_segmentTimeToSimpleTime_Proxy( 
    ITIMENode * This,
    /* [in] */ double dblSegmentTime,
    /* [retval][out] */ double *pdblSimpleTime);


void __RPC_STUB ITIMENode_segmentTimeToSimpleTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_addBehavior_Proxy( 
    ITIMENode * This,
    /* [in] */ ITIMENodeBehavior *tnb);


void __RPC_STUB ITIMENode_addBehavior_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENode_removeBehavior_Proxy( 
    ITIMENode * This,
    /* [in] */ ITIMENodeBehavior *tnb);


void __RPC_STUB ITIMENode_removeBehavior_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITIMENode_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_TimeEng_0149 */
/* [local] */ 

typedef 
enum _TE_EVENT_TYPE
    {	TE_EVENT_BEGIN	= 0,
	TE_EVENT_END	= 1,
	TE_EVENT_REPEAT	= 2,
	TE_EVENT_AUTOREVERSE	= 3,
	TE_EVENT_PAUSE	= 4,
	TE_EVENT_RESUME	= 5,
	TE_EVENT_RESET	= 6,
	TE_EVENT_SEEK	= 7,
	TE_EVENT_UPDATE	= 8,
	TE_EVENT_PARENT_TIMESHIFT	= 9,
	TE_EVENT_ENABLE	= 10,
	TE_EVENT_DISABLE	= 11,
	TE_EVENT_Max	= 0x7fffffffL
    } 	TE_EVENT_TYPE;

typedef 
enum _TE_PROPERTY_TYPE
    {	TE_PROPERTY_TIME	= 0x1,
	TE_PROPERTY_REPEATCOUNT	= 0x2,
	TE_PROPERTY_SEGMENTDUR	= 0x4,
	TE_PROPERTY_IMPLICITDUR	= 0x8,
	TE_PROPERTY_SIMPLEDUR	= 0x10,
	TE_PROPERTY_ACTIVEDUR	= 0x20,
	TE_PROPERTY_PROGRESS	= 0x40,
	TE_PROPERTY_SPEED	= 0x80,
	TE_PROPERTY_BEGINPARENTTIME	= 0x100,
	TE_PROPERTY_ENDPARENTTIME	= 0x200,
	TE_PROPERTY_ISACTIVE	= 0x400,
	TE_PROPERTY_ISON	= 0x800,
	TE_PROPERTY_ISPAUSED	= 0x1000,
	TE_PROPERTY_ISCURRPAUSED	= 0x2000,
	TE_PROPERTY_STATEFLAGS	= 0x4000,
	TE_PROPERTY_ISDISABLED	= 0x8000,
	TE_PROPERTY_ISCURRDISABLED	= 0x10000,
	TE_PROPERTY_Max	= 0x7fffffffL
    } 	TE_PROPERTY_TYPE;



extern RPC_IF_HANDLE __MIDL_itf_TimeEng_0149_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_TimeEng_0149_v0_0_s_ifspec;

#ifndef __ITIMENodeBehavior_INTERFACE_DEFINED__
#define __ITIMENodeBehavior_INTERFACE_DEFINED__

/* interface ITIMENodeBehavior */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_ITIMENodeBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("53d94c9f-5a20-4701-a36b-d9cb58751b97")
    ITIMENodeBehavior : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE tick( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE eventNotify( 
            /* [in] */ double dblEventTime,
            /* [in] */ TE_EVENT_TYPE teEventType,
            /* [in] */ long lNewRepeatCount) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE getSyncTime( 
            /* [out] */ double *dblNewSegmentTime,
            /* [out] */ LONG *lNewRepeatCount,
            /* [out] */ VARIANT_BOOL *bCueing) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE propNotify( 
            /* [in] */ DWORD tePropTypes) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITIMENodeBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITIMENodeBehavior * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITIMENodeBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITIMENodeBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *tick )( 
            ITIMENodeBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *eventNotify )( 
            ITIMENodeBehavior * This,
            /* [in] */ double dblEventTime,
            /* [in] */ TE_EVENT_TYPE teEventType,
            /* [in] */ long lNewRepeatCount);
        
        HRESULT ( STDMETHODCALLTYPE *getSyncTime )( 
            ITIMENodeBehavior * This,
            /* [out] */ double *dblNewSegmentTime,
            /* [out] */ LONG *lNewRepeatCount,
            /* [out] */ VARIANT_BOOL *bCueing);
        
        HRESULT ( STDMETHODCALLTYPE *propNotify )( 
            ITIMENodeBehavior * This,
            /* [in] */ DWORD tePropTypes);
        
        END_INTERFACE
    } ITIMENodeBehaviorVtbl;

    interface ITIMENodeBehavior
    {
        CONST_VTBL struct ITIMENodeBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITIMENodeBehavior_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITIMENodeBehavior_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITIMENodeBehavior_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITIMENodeBehavior_tick(This)	\
    (This)->lpVtbl -> tick(This)

#define ITIMENodeBehavior_eventNotify(This,dblEventTime,teEventType,lNewRepeatCount)	\
    (This)->lpVtbl -> eventNotify(This,dblEventTime,teEventType,lNewRepeatCount)

#define ITIMENodeBehavior_getSyncTime(This,dblNewSegmentTime,lNewRepeatCount,bCueing)	\
    (This)->lpVtbl -> getSyncTime(This,dblNewSegmentTime,lNewRepeatCount,bCueing)

#define ITIMENodeBehavior_propNotify(This,tePropTypes)	\
    (This)->lpVtbl -> propNotify(This,tePropTypes)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE ITIMENodeBehavior_tick_Proxy( 
    ITIMENodeBehavior * This);


void __RPC_STUB ITIMENodeBehavior_tick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENodeBehavior_eventNotify_Proxy( 
    ITIMENodeBehavior * This,
    /* [in] */ double dblEventTime,
    /* [in] */ TE_EVENT_TYPE teEventType,
    /* [in] */ long lNewRepeatCount);


void __RPC_STUB ITIMENodeBehavior_eventNotify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENodeBehavior_getSyncTime_Proxy( 
    ITIMENodeBehavior * This,
    /* [out] */ double *dblNewSegmentTime,
    /* [out] */ LONG *lNewRepeatCount,
    /* [out] */ VARIANT_BOOL *bCueing);


void __RPC_STUB ITIMENodeBehavior_getSyncTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENodeBehavior_propNotify_Proxy( 
    ITIMENodeBehavior * This,
    /* [in] */ DWORD tePropTypes);


void __RPC_STUB ITIMENodeBehavior_propNotify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITIMENodeBehavior_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_TimeEng_0150 */
/* [local] */ 

typedef 
enum _TE_ENDSYNC
    {	TE_ENDSYNC_NONE	= 0,
	TE_ENDSYNC_FIRST	= 1,
	TE_ENDSYNC_LAST	= 2,
	TE_ENDSYNC_ALL	= 3,
	TE_ENDSYNC_MEDIA	= 4,
	TE_ENDSYNC_Max	= 0x7fffffffL
    } 	TE_ENDSYNC;



extern RPC_IF_HANDLE __MIDL_itf_TimeEng_0150_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_TimeEng_0150_v0_0_s_ifspec;

#ifndef __ITIMEContainer_INTERFACE_DEFINED__
#define __ITIMEContainer_INTERFACE_DEFINED__

/* interface ITIMEContainer */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_ITIMEContainer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bea46abf-f895-4f15-80fd-8dec9d6558ec")
    ITIMEContainer : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE addNode( 
            /* [in] */ ITIMENode *tn) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE removeNode( 
            /* [in] */ ITIMENode *tn) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_numChildren( 
            /* [retval][out] */ long *l) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endSync( 
            /* [retval][out] */ TE_ENDSYNC *endsync) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_endSync( 
            /* [in] */ TE_ENDSYNC endsync) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITIMEContainerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITIMEContainer * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITIMEContainer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITIMEContainer * This);
        
        HRESULT ( STDMETHODCALLTYPE *addNode )( 
            ITIMEContainer * This,
            /* [in] */ ITIMENode *tn);
        
        HRESULT ( STDMETHODCALLTYPE *removeNode )( 
            ITIMEContainer * This,
            /* [in] */ ITIMENode *tn);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_numChildren )( 
            ITIMEContainer * This,
            /* [retval][out] */ long *l);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endSync )( 
            ITIMEContainer * This,
            /* [retval][out] */ TE_ENDSYNC *endsync);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_endSync )( 
            ITIMEContainer * This,
            /* [in] */ TE_ENDSYNC endsync);
        
        END_INTERFACE
    } ITIMEContainerVtbl;

    interface ITIMEContainer
    {
        CONST_VTBL struct ITIMEContainerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITIMEContainer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITIMEContainer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITIMEContainer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITIMEContainer_addNode(This,tn)	\
    (This)->lpVtbl -> addNode(This,tn)

#define ITIMEContainer_removeNode(This,tn)	\
    (This)->lpVtbl -> removeNode(This,tn)

#define ITIMEContainer_get_numChildren(This,l)	\
    (This)->lpVtbl -> get_numChildren(This,l)

#define ITIMEContainer_get_endSync(This,endsync)	\
    (This)->lpVtbl -> get_endSync(This,endsync)

#define ITIMEContainer_put_endSync(This,endsync)	\
    (This)->lpVtbl -> put_endSync(This,endsync)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE ITIMEContainer_addNode_Proxy( 
    ITIMEContainer * This,
    /* [in] */ ITIMENode *tn);


void __RPC_STUB ITIMEContainer_addNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMEContainer_removeNode_Proxy( 
    ITIMEContainer * This,
    /* [in] */ ITIMENode *tn);


void __RPC_STUB ITIMEContainer_removeNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMEContainer_get_numChildren_Proxy( 
    ITIMEContainer * This,
    /* [retval][out] */ long *l);


void __RPC_STUB ITIMEContainer_get_numChildren_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMEContainer_get_endSync_Proxy( 
    ITIMEContainer * This,
    /* [retval][out] */ TE_ENDSYNC *endsync);


void __RPC_STUB ITIMEContainer_get_endSync_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMEContainer_put_endSync_Proxy( 
    ITIMEContainer * This,
    /* [in] */ TE_ENDSYNC endsync);


void __RPC_STUB ITIMEContainer_put_endSync_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITIMEContainer_INTERFACE_DEFINED__ */


#ifndef __ITIMENodeMgr_INTERFACE_DEFINED__
#define __ITIMENodeMgr_INTERFACE_DEFINED__

/* interface ITIMENodeMgr */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_ITIMENodeMgr;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bc5a60be-0fea-443a-95ae-a3e4c9715c88")
    ITIMENodeMgr : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_id( 
            /* [retval][out] */ BSTR *__MIDL_0044) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_id( 
            /* [in] */ BSTR __MIDL_0045) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE begin( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE end( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE seek( 
            /* [in] */ double dblTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currTime( 
            /* [retval][out] */ double *pdblTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_node( 
            /* [retval][out] */ ITIMENode **pptn) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateFlags( 
            /* [retval][out] */ TE_STATE *lFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE tick( 
            /* [in] */ double dblTime) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITIMENodeMgrVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITIMENodeMgr * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITIMENodeMgr * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITIMENodeMgr * This);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_id )( 
            ITIMENodeMgr * This,
            /* [retval][out] */ BSTR *__MIDL_0044);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_id )( 
            ITIMENodeMgr * This,
            /* [in] */ BSTR __MIDL_0045);
        
        HRESULT ( STDMETHODCALLTYPE *begin )( 
            ITIMENodeMgr * This);
        
        HRESULT ( STDMETHODCALLTYPE *end )( 
            ITIMENodeMgr * This);
        
        HRESULT ( STDMETHODCALLTYPE *pause )( 
            ITIMENodeMgr * This);
        
        HRESULT ( STDMETHODCALLTYPE *resume )( 
            ITIMENodeMgr * This);
        
        HRESULT ( STDMETHODCALLTYPE *seek )( 
            ITIMENodeMgr * This,
            /* [in] */ double dblTime);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currTime )( 
            ITIMENodeMgr * This,
            /* [retval][out] */ double *pdblTime);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_node )( 
            ITIMENodeMgr * This,
            /* [retval][out] */ ITIMENode **pptn);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateFlags )( 
            ITIMENodeMgr * This,
            /* [retval][out] */ TE_STATE *lFlags);
        
        HRESULT ( STDMETHODCALLTYPE *tick )( 
            ITIMENodeMgr * This,
            /* [in] */ double dblTime);
        
        END_INTERFACE
    } ITIMENodeMgrVtbl;

    interface ITIMENodeMgr
    {
        CONST_VTBL struct ITIMENodeMgrVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITIMENodeMgr_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITIMENodeMgr_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITIMENodeMgr_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITIMENodeMgr_get_id(This,__MIDL_0044)	\
    (This)->lpVtbl -> get_id(This,__MIDL_0044)

#define ITIMENodeMgr_put_id(This,__MIDL_0045)	\
    (This)->lpVtbl -> put_id(This,__MIDL_0045)

#define ITIMENodeMgr_begin(This)	\
    (This)->lpVtbl -> begin(This)

#define ITIMENodeMgr_end(This)	\
    (This)->lpVtbl -> end(This)

#define ITIMENodeMgr_pause(This)	\
    (This)->lpVtbl -> pause(This)

#define ITIMENodeMgr_resume(This)	\
    (This)->lpVtbl -> resume(This)

#define ITIMENodeMgr_seek(This,dblTime)	\
    (This)->lpVtbl -> seek(This,dblTime)

#define ITIMENodeMgr_get_currTime(This,pdblTime)	\
    (This)->lpVtbl -> get_currTime(This,pdblTime)

#define ITIMENodeMgr_get_node(This,pptn)	\
    (This)->lpVtbl -> get_node(This,pptn)

#define ITIMENodeMgr_get_stateFlags(This,lFlags)	\
    (This)->lpVtbl -> get_stateFlags(This,lFlags)

#define ITIMENodeMgr_tick(This,dblTime)	\
    (This)->lpVtbl -> tick(This,dblTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENodeMgr_get_id_Proxy( 
    ITIMENodeMgr * This,
    /* [retval][out] */ BSTR *__MIDL_0044);


void __RPC_STUB ITIMENodeMgr_get_id_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ITIMENodeMgr_put_id_Proxy( 
    ITIMENodeMgr * This,
    /* [in] */ BSTR __MIDL_0045);


void __RPC_STUB ITIMENodeMgr_put_id_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENodeMgr_begin_Proxy( 
    ITIMENodeMgr * This);


void __RPC_STUB ITIMENodeMgr_begin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENodeMgr_end_Proxy( 
    ITIMENodeMgr * This);


void __RPC_STUB ITIMENodeMgr_end_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENodeMgr_pause_Proxy( 
    ITIMENodeMgr * This);


void __RPC_STUB ITIMENodeMgr_pause_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENodeMgr_resume_Proxy( 
    ITIMENodeMgr * This);


void __RPC_STUB ITIMENodeMgr_resume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENodeMgr_seek_Proxy( 
    ITIMENodeMgr * This,
    /* [in] */ double dblTime);


void __RPC_STUB ITIMENodeMgr_seek_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENodeMgr_get_currTime_Proxy( 
    ITIMENodeMgr * This,
    /* [retval][out] */ double *pdblTime);


void __RPC_STUB ITIMENodeMgr_get_currTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENodeMgr_get_node_Proxy( 
    ITIMENodeMgr * This,
    /* [retval][out] */ ITIMENode **pptn);


void __RPC_STUB ITIMENodeMgr_get_node_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ITIMENodeMgr_get_stateFlags_Proxy( 
    ITIMENodeMgr * This,
    /* [retval][out] */ TE_STATE *lFlags);


void __RPC_STUB ITIMENodeMgr_get_stateFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMENodeMgr_tick_Proxy( 
    ITIMENodeMgr * This,
    /* [in] */ double dblTime);


void __RPC_STUB ITIMENodeMgr_tick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITIMENodeMgr_INTERFACE_DEFINED__ */


#ifndef __ITIMEImageRender_INTERFACE_DEFINED__
#define __ITIMEImageRender_INTERFACE_DEFINED__

/* interface ITIMEImageRender */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_ITIMEImageRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("816d8132-dbae-48ee-a99d-f15fad645cc4")
    ITIMEImageRender : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PutDirectDraw( 
            IUnknown *punkDirectDraw) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Render( 
            HDC hdc,
            LPRECT pRect,
            LONG lFrameNum) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSize( 
            DWORD *pdwWidth,
            DWORD *pdwHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NeedNewFrame( 
            /* [in] */ double dblNewTime,
            /* [in] */ LONG lOldFrame,
            /* [out] */ LONG *plNewFrame,
            /* [out] */ VARIANT_BOOL *pvb,
            /* [in] */ double dblClipBegin,
            /* [in] */ double dblClipEnd) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDuration( 
            /* [out] */ double *pdblDuration) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetRepeatCount( 
            /* [out] */ double *pdblRepeatCount) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITIMEImageRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITIMEImageRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITIMEImageRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITIMEImageRender * This);
        
        HRESULT ( STDMETHODCALLTYPE *PutDirectDraw )( 
            ITIMEImageRender * This,
            IUnknown *punkDirectDraw);
        
        HRESULT ( STDMETHODCALLTYPE *Render )( 
            ITIMEImageRender * This,
            HDC hdc,
            LPRECT pRect,
            LONG lFrameNum);
        
        HRESULT ( STDMETHODCALLTYPE *GetSize )( 
            ITIMEImageRender * This,
            DWORD *pdwWidth,
            DWORD *pdwHeight);
        
        HRESULT ( STDMETHODCALLTYPE *NeedNewFrame )( 
            ITIMEImageRender * This,
            /* [in] */ double dblNewTime,
            /* [in] */ LONG lOldFrame,
            /* [out] */ LONG *plNewFrame,
            /* [out] */ VARIANT_BOOL *pvb,
            /* [in] */ double dblClipBegin,
            /* [in] */ double dblClipEnd);
        
        HRESULT ( STDMETHODCALLTYPE *GetDuration )( 
            ITIMEImageRender * This,
            /* [out] */ double *pdblDuration);
        
        HRESULT ( STDMETHODCALLTYPE *GetRepeatCount )( 
            ITIMEImageRender * This,
            /* [out] */ double *pdblRepeatCount);
        
        END_INTERFACE
    } ITIMEImageRenderVtbl;

    interface ITIMEImageRender
    {
        CONST_VTBL struct ITIMEImageRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITIMEImageRender_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITIMEImageRender_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITIMEImageRender_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITIMEImageRender_PutDirectDraw(This,punkDirectDraw)	\
    (This)->lpVtbl -> PutDirectDraw(This,punkDirectDraw)

#define ITIMEImageRender_Render(This,hdc,pRect,lFrameNum)	\
    (This)->lpVtbl -> Render(This,hdc,pRect,lFrameNum)

#define ITIMEImageRender_GetSize(This,pdwWidth,pdwHeight)	\
    (This)->lpVtbl -> GetSize(This,pdwWidth,pdwHeight)

#define ITIMEImageRender_NeedNewFrame(This,dblNewTime,lOldFrame,plNewFrame,pvb,dblClipBegin,dblClipEnd)	\
    (This)->lpVtbl -> NeedNewFrame(This,dblNewTime,lOldFrame,plNewFrame,pvb,dblClipBegin,dblClipEnd)

#define ITIMEImageRender_GetDuration(This,pdblDuration)	\
    (This)->lpVtbl -> GetDuration(This,pdblDuration)

#define ITIMEImageRender_GetRepeatCount(This,pdblRepeatCount)	\
    (This)->lpVtbl -> GetRepeatCount(This,pdblRepeatCount)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE ITIMEImageRender_PutDirectDraw_Proxy( 
    ITIMEImageRender * This,
    IUnknown *punkDirectDraw);


void __RPC_STUB ITIMEImageRender_PutDirectDraw_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMEImageRender_Render_Proxy( 
    ITIMEImageRender * This,
    HDC hdc,
    LPRECT pRect,
    LONG lFrameNum);


void __RPC_STUB ITIMEImageRender_Render_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMEImageRender_GetSize_Proxy( 
    ITIMEImageRender * This,
    DWORD *pdwWidth,
    DWORD *pdwHeight);


void __RPC_STUB ITIMEImageRender_GetSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMEImageRender_NeedNewFrame_Proxy( 
    ITIMEImageRender * This,
    /* [in] */ double dblNewTime,
    /* [in] */ LONG lOldFrame,
    /* [out] */ LONG *plNewFrame,
    /* [out] */ VARIANT_BOOL *pvb,
    /* [in] */ double dblClipBegin,
    /* [in] */ double dblClipEnd);


void __RPC_STUB ITIMEImageRender_NeedNewFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMEImageRender_GetDuration_Proxy( 
    ITIMEImageRender * This,
    /* [out] */ double *pdblDuration);


void __RPC_STUB ITIMEImageRender_GetDuration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMEImageRender_GetRepeatCount_Proxy( 
    ITIMEImageRender * This,
    /* [out] */ double *pdblRepeatCount);


void __RPC_STUB ITIMEImageRender_GetRepeatCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITIMEImageRender_INTERFACE_DEFINED__ */


#ifndef __ITIMEInternalEventSink_INTERFACE_DEFINED__
#define __ITIMEInternalEventSink_INTERFACE_DEFINED__

/* interface ITIMEInternalEventSink */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_ITIMEInternalEventSink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c9136c4d-d1f6-44d2-b7a9-8b48ed08979d")
    ITIMEInternalEventSink : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE InternalEvent( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITIMEInternalEventSinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITIMEInternalEventSink * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITIMEInternalEventSink * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITIMEInternalEventSink * This);
        
        HRESULT ( STDMETHODCALLTYPE *InternalEvent )( 
            ITIMEInternalEventSink * This);
        
        END_INTERFACE
    } ITIMEInternalEventSinkVtbl;

    interface ITIMEInternalEventSink
    {
        CONST_VTBL struct ITIMEInternalEventSinkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITIMEInternalEventSink_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITIMEInternalEventSink_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITIMEInternalEventSink_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITIMEInternalEventSink_InternalEvent(This)	\
    (This)->lpVtbl -> InternalEvent(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE ITIMEInternalEventSink_InternalEvent_Proxy( 
    ITIMEInternalEventSink * This);


void __RPC_STUB ITIMEInternalEventSink_InternalEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITIMEInternalEventSink_INTERFACE_DEFINED__ */


#ifndef __ITIMEInternalEventGenerator_INTERFACE_DEFINED__
#define __ITIMEInternalEventGenerator_INTERFACE_DEFINED__

/* interface ITIMEInternalEventGenerator */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_ITIMEInternalEventGenerator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9e3f5bbf-c5c6-4a56-ad53-1fa5c8c2a69f")
    ITIMEInternalEventGenerator : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddInternalEventSink( 
            ITIMEInternalEventSink *pSink,
            double dblTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveInternalEventSink( 
            ITIMEInternalEventSink *pSink) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITIMEInternalEventGeneratorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITIMEInternalEventGenerator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITIMEInternalEventGenerator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITIMEInternalEventGenerator * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddInternalEventSink )( 
            ITIMEInternalEventGenerator * This,
            ITIMEInternalEventSink *pSink,
            double dblTime);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveInternalEventSink )( 
            ITIMEInternalEventGenerator * This,
            ITIMEInternalEventSink *pSink);
        
        END_INTERFACE
    } ITIMEInternalEventGeneratorVtbl;

    interface ITIMEInternalEventGenerator
    {
        CONST_VTBL struct ITIMEInternalEventGeneratorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITIMEInternalEventGenerator_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITIMEInternalEventGenerator_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITIMEInternalEventGenerator_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITIMEInternalEventGenerator_AddInternalEventSink(This,pSink,dblTime)	\
    (This)->lpVtbl -> AddInternalEventSink(This,pSink,dblTime)

#define ITIMEInternalEventGenerator_RemoveInternalEventSink(This,pSink)	\
    (This)->lpVtbl -> RemoveInternalEventSink(This,pSink)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE ITIMEInternalEventGenerator_AddInternalEventSink_Proxy( 
    ITIMEInternalEventGenerator * This,
    ITIMEInternalEventSink *pSink,
    double dblTime);


void __RPC_STUB ITIMEInternalEventGenerator_AddInternalEventSink_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ITIMEInternalEventGenerator_RemoveInternalEventSink_Proxy( 
    ITIMEInternalEventGenerator * This,
    ITIMEInternalEventSink *pSink);


void __RPC_STUB ITIMEInternalEventGenerator_RemoveInternalEventSink_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITIMEInternalEventGenerator_INTERFACE_DEFINED__ */


#ifndef __ITIMETransitionDependencyMgr_INTERFACE_DEFINED__
#define __ITIMETransitionDependencyMgr_INTERFACE_DEFINED__

/* interface ITIMETransitionDependencyMgr */
/* [local][unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_ITIMETransitionDependencyMgr;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FCD84C84-3878-4FD8-BE54-6B4E1AC248F9")
    ITIMETransitionDependencyMgr : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE EvaluateTransitionTarget( 
            IUnknown *punkTransitionTarget,
            void *pvTransitionDependencyMgr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITIMETransitionDependencyMgrVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITIMETransitionDependencyMgr * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITIMETransitionDependencyMgr * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITIMETransitionDependencyMgr * This);
        
        HRESULT ( STDMETHODCALLTYPE *EvaluateTransitionTarget )( 
            ITIMETransitionDependencyMgr * This,
            IUnknown *punkTransitionTarget,
            void *pvTransitionDependencyMgr);
        
        END_INTERFACE
    } ITIMETransitionDependencyMgrVtbl;

    interface ITIMETransitionDependencyMgr
    {
        CONST_VTBL struct ITIMETransitionDependencyMgrVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITIMETransitionDependencyMgr_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITIMETransitionDependencyMgr_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITIMETransitionDependencyMgr_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITIMETransitionDependencyMgr_EvaluateTransitionTarget(This,punkTransitionTarget,pvTransitionDependencyMgr)	\
    (This)->lpVtbl -> EvaluateTransitionTarget(This,punkTransitionTarget,pvTransitionDependencyMgr)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE ITIMETransitionDependencyMgr_EvaluateTransitionTarget_Proxy( 
    ITIMETransitionDependencyMgr * This,
    IUnknown *punkTransitionTarget,
    void *pvTransitionDependencyMgr);


void __RPC_STUB ITIMETransitionDependencyMgr_EvaluateTransitionTarget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITIMETransitionDependencyMgr_INTERFACE_DEFINED__ */


/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  HDC_UserSize(     unsigned long *, unsigned long            , HDC * ); 
unsigned char * __RPC_USER  HDC_UserMarshal(  unsigned long *, unsigned char *, HDC * ); 
unsigned char * __RPC_USER  HDC_UserUnmarshal(unsigned long *, unsigned char *, HDC * ); 
void                      __RPC_USER  HDC_UserFree(     unsigned long *, HDC * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


